package br.com.webprojeto.colecoes;


import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import br.com.webprojeto.basicas.*;
import br.com.webprojeto.interfaces.InterfarceColecaoColetaMercadoria;


public class ColecaoColetaMercadoria implements InterfarceColecaoColetaMercadoria {
 
		
		public void adicionarColeta(ColetaMercadoria col) {
			Session sessao = HibernateUtil.getSessionFactory().openSession();
			sessao.beginTransaction();
			sessao.saveOrUpdate(col);
			sessao.getTransaction().commit();
	}
	 
	
	public void atualizarColeta(ColetaMercadoria col) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		sessao.update(col);
		sessao.getTransaction().commit();
	}
	
		 
	
	public void removerColeta(long codColeta) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		ColetaMercadoria col = (ColetaMercadoria) sessao.load(ColetaMercadoria.class, codColeta);
		sessao.delete(col);
		sessao.getTransaction().commit();
	}
	 
	
	public List<ColetaMercadoria> listarColeta() {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		Query consulta = sessao.createQuery("from ColetaMercadoria");
		return consulta.list();
	}
	 
	@Override
	public List<ColetaMercadoria> localizarColetaStatus(String status) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		Query consulta = sessao.createQuery("from ColetaMercadoria where status like ?");
		consulta.setParameter(0, status);
		sessao.getTransaction().commit();
		return consulta.list();
	}
	
	public ColetaMercadoria procurarColeta(long codColeta) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		ColetaMercadoria col = (ColetaMercadoria) sessao.load(ColetaMercadoria.class, codColeta);
		sessao.getTransaction().commit();
		
		return col;
	}
	 
}
 
